package com.maidshop.elasticsearch.service;

import com.maidshop.elasticsearch.domain.AnimationEs;
import org.springframework.data.elasticsearch.core.SearchHit;

import java.util.List;

public interface ElasticsearchService {

    /**
     * 保存动画数据到 Elasticsearch
     * @param animationEs
     * @return 保存成功的数量
     */
    int save(AnimationEs animationEs);

    /**
     * 根据 ID 获取动画数据
     * @param id
     * @return
     */
    AnimationEs getById(Long id);

    /**
     * 删除指定 ID 的动画数据
     * @param id
     * @return 删除成功的数量
     */
    int deleteById(Long id);

    /**
     * 根据名称、类型、介绍搜索动画数据（高亮显示）
     * @return
     */
    List<AnimationEs> findByNameOrTypeOrIntro(String text);

    /**
     * 初始化 Elasticsearch(测试使用)
     * @return
     */
    int initElasticsearch();

    /**
     * 更新 es 数据
     */
    void updateAnimationEs(AnimationEs animationEs);
}
